/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pbl_cliente;

import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.net.SocketException;

/**
 *
 * @author tayane
 */
public class RecebeMsgChat implements Runnable {
    
    InputStream streamUser;
    Socket usuario;
    String msgRecebida;
    CotaChat chat;
    Socket usuarioSolicitante;
    PBL_cliente cli;
    
    public RecebeMsgChat(CotaChat chat, Socket usuario){
        this.usuario = usuario;
        this.chat = chat;
    }
    
    public RecebeMsgChat(Socket usuarioSolicitante, PBL_cliente cli){
        this.usuario = usuarioSolicitante;
        this.cli = cli;
    }
    
    public void run(){
        
        while (true) {
            try {
                    //System.out.println("Aguardando o recebimento de mensagens no chat");
                    DataInputStream streamRecebida = new DataInputStream(this.usuario.getInputStream());
                    msgRecebida = streamRecebida.readUTF();
                    System.out.println("Cliente respondeu - " + msgRecebida);

                    if(msgRecebida.equals("ConviteAceito")){
                        this.chat.addConfirmado(usuario);                
                    }

                    else if(msgRecebida.equals("ConviteRecusado")){
                        //usuario.close();
                    }

                    else if (msgRecebida.split(":")[0].equals("AtivarSala")){
                        this.chat = new CotaChat(cli);
                        this.chat.setId_cota(Integer.parseInt(msgRecebida.split(":")[1]));
                        this.chat.setIpMulticast(msgRecebida.split(":")[2]);
                        this.chat.setPortaMulticast(Integer.parseInt(msgRecebida.split(":")[3]));
                        this.chat.setTenhoCota(true);
                        this.chat.setSalaAtiva(true);
                    }
                    
                    else if(msgRecebida.split(":")[0].equals("FecheiJanela")){
                        //this.chat.fechaJanela();
                    }
                  
               }  catch(SocketException exs){
                   System.out.println("Erro em RecebeMsgChat: " + exs.getMessage());
                   break;
               }
               catch (IOException ex) {
                   ex.printStackTrace();
                   System.out.println("Erro em RecebeMsgChat: " + ex.getMessage());
                   break;
               }

        }
        
    }

}
